package chapter2;

/**
 * 三目表达式
 */
public class TernaryOperator2 {
    public static void main(String[] args) {
        int i = 1;
        int j = 2;
        i = i > j ? i : j;//int

        boolean bool = true;
        Boolean boolBox = new Boolean(bool);
        bool = i>j?bool:boolBox;//boolean
        //表达式2和表达式3一个为引用常量null，另一个为引用类型
        TernaryOperator2 t = new TernaryOperator2();
        t=i>j?t:null;//TernaryOperator2
        boolBox = i>j?null:bool;//Boolean
        //表达式2和表达式3 都为数值类型或者可以拆箱转换到数值类型
        byte b = 1;
        Byte bBox = new Byte(b);
        short s = 1;
        Short sBox = new Short(s);
        s=i>j?b:s;//short
        s=i>j?bBox:s;//short
        s=i>j?b:bBox;//short
        s=i>j?s:20;//byte
        i=i>j?b:128;//int
        b=i>j?bBox:20;//byte
        i=i>j?bBox:128;//int
        System.out.println(b);
    }
}
